#include <iostream>
#include <string>
#include <functional>
#include <vector>
void Print(const std::string& str, int num)
{
    std::cout<< str << num << std::endl;
}
int main()
{
    using Task = std::function<void()>;
    std::vector<Task> arr;
    arr.emplace_back(std::bind(Print, "hello 1", 10));
    arr.emplace_back(std::bind(Print, "hello 2", 20));
    arr.emplace_back(std::bind(Print, "hello 3", 30));
    for(auto& t : arr)
    {
        t();
    }
    return 0;
}